package com.zp.demo.repush.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zp.demo.repush.service.func.IsSucessFunc;
import com.zp.demo.repush.service.func.ReSubmitResultFunc;
import com.zp.demo.repush.service.func.StrategyKeyFunc;
import lombok.Data;

import java.io.Serializable;
@Data
public class BaseRePushVo implements Serializable {
    private static final long serialVersionUID = 1L;
    public BaseRePushVo(){
    }
    public BaseRePushVo(String strategyKey,Object[] args,String message){
        this.strategyKey = strategyKey;
        this.args = args;
        this.message = message;
    }
    private Long id;
    // 重推的类型
    private String type = "ONECE";
    // 剩余推送次数
    private Integer remainingCounts;
    private String methodId;
    private String strategyKey;
    private String message;
    private Object[] args;
    private String businessId;
    private String methodName;
    private String clazzName;
    private String desc;
    private String app;
    private Boolean onlyOnce = false;
    private String onlyOnceKey;
    @JsonIgnore
    private IsSucessFunc isSucessFunc;
    @JsonIgnore
    private ReSubmitResultFunc reSubmitResultFunc;

    @JsonIgnore
    private StrategyKeyFunc strategyKeyFunc;
    private String strategyKeyFuncClass;
    private Object oldResult;
    private String isSuccessClass;
    private String reSubmitResultClass;
    @JsonIgnore
    private RePushStrategyEntity strategyInfo;

}
